1. Field of the Invention
The present invention relates to a method and apparatus for controlling an articulated robot and particularly to a method and apparatus for controlling an articulated robot in which coordinate transformation between the Cartesian coordinate system and the articular coordinate system is performed not only for the position data but also for the speed data and the acceleration data and by solution of an inverse problem of an equation of motion, predictive control can be made and furthermore, force control can be realized.
2. Description of the Prior Art
An articulated robot has an excellent advantage that the area required for its installation is small and a large working region is provided. However, such a robot in which coordinate transformation is needed for control of its motions has a disadvantage that calculation for control, particularly coordinate transformation takes much time, which will be explained hereinafter in more detail.
First, coordinate systems will be described. As coordinate systems used for control of an articulated robot, there are a Cartesian coordinate system (defined by components with respect to three axes intersecting perpendicularly) and an articular coordinate system (defined by the angle of each articulation) as opposed to the Cartesian coordinate system and also an absolute coordinate system (a stationary coordinate system) and a hand coordinate system (fixed to each hand and moving according to the motion of each hand) as opposed to the absolute coordinate system, as shown in Table 1. In the present specification, the Cartesian coordinte system is also referred to as an XYZ coordinate system or an X coordinate system; the articular coordinate system is also referred to as an angular coordinate system or an .alpha. coordinate system; the hand coordinate system is also referred to as a local coordinate system.
TABLE 1 ______________________________________ Cartesian coordinate system = XYZ coordinate system, X coordinate system Articular coordinate system = Angular coordinate system, .alpha. coordinate system Absolute coordinate system Hand coordinate system = Local coordinate system ______________________________________
Now, the necessity of coordinate transformation will be explained. Let us taken an example. Processing lines of a work piece to be processed by an industrial robot, for example, welding lines for arc welding are provided generally in the perpendicularly intersecting directions and in many cases, a processing operation is succesively performed along these lines. In an articulated robot, in order to move an object to be controlled (an end effecter) such as a welding torch, for example, along such processing lines of a work piece, such lines are divided into small sections, the positions of the respective dividing points being established, and interpolation is made with respect to the intervals of the dividing points so that commands are given to move the object to be controlled to the position concerned. Such lines are represented in the form of a linear equation in the Cartesian coordinate system, whereas such lines are represented as a non-linear complicated equation in the articular coordinate system. Therefore, the position data for commanding movement of an object to be controlled is first calculated in the Cartesian coordinate system simply and advantageously and after that, the position data in the Cartesian coordinate system has to be transformed into the articular coordinate system so as to be the command data for moving each articulation axis. Reversely, it is also necessary to transform the position data in the articular coordinate system into the position data in the Cartesian coordinate system. To sum up, in an articulated robot, it is necessary to make coordinate transformation between the Cartesian coordinate system and the articular coordinate system with respect to the position data and the like. The coordinate transformation, particularly the transformation from the Cartesian coordinate system into the articular coordinate system needs a considerably large amount of calculations, which takes much time.
In the present specification, the articulations include not only rotating or revolving portions but also sliding portions. Such articulations are also referred to as axes or degrees of freedom.
Then, typically two systems have been proposed conventionally in order to reduce the calculation time. One is an approximate coordinate transformation control system disclosed, for example, in the Japanese Patent Laying-Open Gazette No. 100561/1978, where an approximate equation is obtained from a precise coordinate transforming equation and based on the approximate equation, the respective articulations of an articulated robot are rotated. According to this system, the calculation time can be certainly reduced, but a very significant important error (7 mm, for example) is caused and it cannot be used for precise positioning control. The other is a system disclosed, for example, in the Japanese Patent Laying-Open Gazette No. 121362/1978, where if a robot has five or six degrees of freedom, coordinate transformation is not made simultaneously with respect to all the axes but only three degrees of freedom, for example, out of these are simultaneously controlled based on a precise coordinate transformation equation. According to the latter system, positioning precision is improved, but the functions to be performed or the positioning manners are necessarily decreased. Aside from the above described two systems, a high speed device such as a Josephson device might be used as a calculation device, but such a device is far from practical and costs much. Therefore, first of all, a simplified method and apparatus for coordinate transformation by which high speed calculation can be made have been desired.
On the other hand, for position control, feedback control is conventionally applied in principle. In the feedback control, driving power is generated only after a difference is made between a desired position and an actual position. Particularly, if the inertia of the arms of a robot and the inertia of an end effecter take large values, deviation between a desired position and an actual position of the end effecter becomes large. In order to minimize the above stated deviation, the load by which the position deviation is multiplied (feedback gain) or the maximum driving torque might be made larger, but there was a limit in stability of the feedback control. Particularly, a serious problem such as a deviation in the path of an end effecter would be caused in case of control of more than two axes. Besides the above stated deviation due to the inertia following the linear movement of the arms, a difference between the actual movement and the desired movement of a robot would be made due to the force generated by rotational movement of the other arm such as centrifugal force, Coriolis' force and the like or due to the gravity generated by the mass of the arms per se and the end effecter, and such deviation became a serious problem in an apparatus requiring high speed operation and high precision. This problem can be solved only by a method in which casuality between a desired value and a current value, that is, between a desired position as a control input and a present position as a control result is predicted in the form of an equation of motion so as to apply control inputs causing desired results. This method is called feedforward control, or predictive control or optimum control. Therefore, secondly, a predictive control method and an apparatus for it by which an end effecter can move in a desired path have been desired.
Furthermore, force which is generated in the arms of a robot controlled only by feedback of the positions when the robot copes with any obstacle is changed due to the position deviation in the direction of the force. However, in applied processes such as assembling, surface finishing and the like, it has been required that by applying a fixed force in a certain direction, position control should be made in a direction perpendicular to the above stated direction, the direction being defined not by the design of a mechanism of a robot, but by an object to be processed. Accordingly, it is necessary to make selection between position control and force control in the coordinate system defined by an arbitrary object to be processed or to make selection with respect to the load. Therefore, thirdly, an apparatus for performing the above stated operations and means for converting the force in the coordinate system defined by an object to be processed into the force (torque) in the coordinate system defined by a robot mechanism have been desired. In addition, particularly in assembling operation, there is a phenomenon in which insertion of parts becomes easy by soft (compliant) positioning in one direction out of several directions including a rotating direction in the coordinate system defined by the parts to be inserted. This phenomenon is applied to a mechanism of a special end effecter, which is realized as an RCC (Remote Center of Compliance). Three different types of RCC are disclosed in the U.S. Pat. Nos. 4,098,001 and 4,155,169 and the U.S. patent application Ser. No. 140,768 filed on Apr. 16, 1980. These U.S. Patents and Patent Application are incorporated herein by reference thereto. Besides, it has been requested to provide an RCC in the arms per se, not in a special end effecter.